Companies are increasingly deploying network-based services (e.g., web services) to create enterprise-wide applications in heterogeneous computing environments. However, ensuring the security of such services is seen as a barrier to their wide-spread adoption.
Services are typically assembled from one or more software applications that may each implement their own proprietary security model and may each require their own form of administration. Thus, the security information and security procedures from one portion of an enterprise application may not be compatible with other portions. Furthermore, some security models may not take into account that users can have different policies depending on when and how they are interacting with a service. The result is a collection of services having incompatible silos of security.
Another reason why security remains a barrier to deploying web services is cost. Software developers can require extensive training before they are able to implement and deploy such systems. Developing a security system can also be seen as a distraction from a programmer's primary duty of developing application software. Even if this were not so, legacy applications not designed for dynamic changes in policy can require that security measures be intricately tied to the application itself. This leads to a security systems that are brittle and costly to maintain.